// npm i @hapi/joi@17.1.0 包，为表单中携带的每个数据项，定义验证规则
const joi = require('joi')
// nmp i @escook/express-joi 中间件，来实现自动对表单数据进行验证的功能
// const expressJoi = require('@escook/express-joi')

// 用户名验证规则
const username = joi.string().alphanum().min(3).max(12).required()
// 密码验证规则
const password = joi.string().required().pattern(/^[\S]{6,12}$/)
// 名字
const chineseName = joi.string().min(2).max(12).required()

// 验证登录的验证规则对象
exports.reg_login_schema = {
  body: {
    username,
    password,
  }
}

// 验证注册的验证规则对象
exports.reg_regUser_schema = {
  body: {
    username,
    password,
    chineseName
  }
}

// string() 值必须是字符串
// alphanum() 值只能是包含 a-z A-Z 0-9 的字符串
// min(length) 最小长度
// max() 最大长度
// required() 值是必填项，不能为undefind
// pattern(正则表达式) 值必须符合正则表达式的规则